package com.hmy.finance.bo.receiveAdjust.response;

import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

@Data
public class QueryReceiveAdjustResponse {

    /**
     * 主键标识
     */
    private Long adjustId;

    /**
     * 应收调整单号
     */
    private String adjustNo;

    /**
     * 合同id
     */
    private Long contractId;

    /**
     * 合同编号
     */
    private String contractNo;

    /**
     * 项目id
     */
    private Long projectId;

    /**
     * 项目名称
     */
    private String projectName;

    /**
     * 签约人
     */
    private Long signatoryId;

    /**
     * 签约人
     */
    private String signatory;

    /**
     * 签约人联系方式
     */
    private String signatoryPhone;

    /**
     * 客户名称
     */
    private Long customerId;

    /**
     * 客户名称
     */
    private String customerName;

    /**
     * 客户联系方式
     */
    private String customerPhone;

    /**
     * 合同应收总金额
     */
    private BigDecimal contractReceiveTotalAmount;

    /**
     * 调整后应收总额
     */
    private BigDecimal adjustReceiveTotalAmount;

    /**
     * 调整金额
     */
    private BigDecimal adjustTotalAmount;

    /**
     * 调整原因
     */
    private String adjustReason;

    /**
     * 调整原因Label
     */
    private String adjustReasonLabel;

    /**
     * 详细原因
     */
    private String adjustDetailReason;

    /**
     * 历史调整行为：0-否，1-是
     */
    private Integer historyAdjust;

    /**
     * 工单状态，10：待提交，20：已完结
     */
    private Integer status;

    /**
     * cssTag
     */
    private String statusCssTag;

    /**
     * statusLabel
     */
    private String statusLabel;

    /**
     * 上传单据
     */
    private String uploadFile;

    /**
     * 提交时间
     */
    private LocalDateTime submitTime;

    /**
     * 完结时间
     */
    private LocalDateTime finishTime;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 截止时间
     */
    private LocalDate endTime;

    /**
     * 应收调减详情
     */
    private List<QueryReceiveAdjustDetailResponse> receiveAdjustDetails;
}
